//
//  HMStatusModel.swift
//  HMWeiBo
//
//  Created by Apple on 16/8/1.
//  Copyright © 2016年 itheima. All rights reserved.
//

import UIKit

class HMStatusModel: NSObject {

    ///created_at	string	微博创建时间
    var created_at: String?
    ///id	int64	微博ID
    var id: Int = 0
    ///text	string	微博信息内容
    var text: String?
    ///source	string	微博来源
    var source: String?
    
    ///    user	object	微博作者的用户信息字段 详细 -- 需要手动给user 进行字典转模型
    var user: HMStatusUserModel?
    
    // 如果该字段为 nil,则说明此微博为原创微博
    // 如果该字段为 不为nil,则说明此微博为转发微博
    ///    retweeted_status	object	被转发的原微博信息字段，当该微博为转发微博时返回 详细
    var retweeted_status:HMStatusModel?
    
    ///    reposts_count	int	转发数
    var reposts_count: Int = 0
    ///    comments_count	int	评论数
    var comments_count: Int = 0
    ///    attitudes_count	int	表态数
    var attitudes_count: Int = 0
    
    var pic_urls: [HMPhotoModel]?
    
    init(dict: [String: AnyObject]) {
        
       // 1
        
        super.init()
        
        // 2
        
        
        setValuesForKeysWithDictionary(dict)
        
        // 3 -- 一定要确保,最后再给 user 字典转模型
        
        if let userDict = dict["user"] as? [String: AnyObject] {
            
            self.user = HMStatusUserModel(dict: userDict)
            
        }
        
        if let retweeted_statusDict = dict["retweeted_status"] as? [String: AnyObject] {
            
            self.retweeted_status = HMStatusModel(dict: retweeted_statusDict)
            
        }
        
        // 手动的转换一下
        if let pic_urlsDict = dict["pic_urls"] as? [[String: AnyObject]] {
            
            // 数组一定要初始化
            self.pic_urls = [HMPhotoModel]()
            
            // 需要对数组进行遍历
            for pic_urlDict in pic_urlsDict {
                
                let model = HMPhotoModel(dict: pic_urlDict)
                
                // 把模型添加到数组
                self.pic_urls?.append(model)
            }
            
        }
    }
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
    }
    
}
